/**
 * @author JackGao
 *			email:jackgao.china@gmail.com
 *  date：2016-6-23
 * 
 */
package cn.cuit.ds.service;

import java.util.List;

import cn.cuit.ds.domain.Address;
import cn.cuit.ds.domain.Goods;
import cn.cuit.ds.domain.Goods2Orders;
import cn.cuit.ds.domain.OrderDeatil;
import cn.cuit.ds.domain.Orders;
import cn.cuit.ds.domain.User;
import cn.cuit.ds.utils.PageBean;

public interface IUserService {

	/**
	 * 注册
	 * 
	 * @return 成功返回1 不成功返回0
	 */
	public int regist(User user);

	/**
	 * 登陆
	 * 
	 * @return 成功返回1 不成功返回0
	 */
	public User login(User user);
	
	/**
	 * 用户增加一条地址
	 * @param address
	 */
	public void addAddress(Address address);
	
	/**
	 * 删除一条地址
	 * @param address
	 */
	public void deleteAddress(String addressId);
	
/**
 * 获得用户所有的地址
 * @param userId  用户id
 * @return
 */
	public List<Address> getAllAddress(String userId);
	
/**
 * 
 * @param orders
 * @return
 */
	public int checkout(Orders orders);
	
	/**
	 * 更新地址
	 * @param address
	 */
	public void updateAddress(Address address);
	
	public Address getAddressById(String addressId);
	
	/**
	 * 获取某个用户的所有订单详情信息
	 * @param userId
	 * @return
	 */
	public List<OrderDeatil> getAllOrderDetailById(String userId);
	
	
	public List<OrderDeatil> getAllOrderDetailByIdAndTime(String userId,String timefrom,String timeto);
	
	
	/**
	 * 获取所有商品
	 * @return
	 */
	public List<Goods>getAllGoods();
	

	public void getAll(PageBean<Goods> pageBean);
	
	
	public List<Goods> getAllGoodsByIds(List<String> ids);
	
	/**
	 * 更新数据库，买完之后数量要有变化
	 * @param goods
	 */
	public void updateDatabase(Goods goods);
	
	public List<User> getAllUsres();
	
	public void deleteUser(String userId);
	
	public User getUserById(String userId);
	
	public void update(User user);
	
}
